<html>
<head>
    <script src="../libraries/RGraph.common.core.js" ></script>
    <script src="../libraries/RGraph.common.effects.js" ></script>
    <script src="../libraries/RGraph.line.js" ></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <!--[if lt IE 9]><script src="../excanvas/excanvas.js"></script><![endif]-->
    
    <title>A dual color filled range Line chart</title>
    
    <link rel="stylesheet" href="demos.css" type="text/css" media="screen" />
    
    
    <meta name="description" content="A range Line chart which shows two colors - the threshold of which is settable" />
     
</head>
<body>

    <h1>A dual-color filled range Line chart</h1>
    
    <p>
        An dual-color filled range Line chart - so below the threshold it can be one color - and above it can be another.
        The threshold is controllable by you. The chart below uses randomised data so if you refresh the page it will be
        slightly different. It uses the Trace() effect as the Trace2() effect uses the clip() function also and so conflicts
        with the range clipping
    </p>

    <canvas id="cvs" width="600" height="250">[No canvas support]</canvas><br />
    Threshold: <input type="text" onkeyup="Update(event)" value="40" id="val" />


    <script>
        function Update ()
        {
            var obj = document.getElementById('cvs').__object__;

            obj.set('filled.range.threshold', Number(document.getElementById('val').value));
            RGraph.clear(obj.canvas);
            obj.draw();
        }


        $(document).ready(function ()
        {
            var d1  = [];
            var d2  = [];
            var val = 47;

            for (var i=0; i<90; ++i) {
                d1.push(RGraph.random(45,50) *  Math.sin(i / 57.29));
                d2.push(RGraph.random(35,45) * Math.sin(i / 57.29));
            }

            for (var i=0; i<90; ++i) {
                val = RGraph.random(-2,2) + val
                val = Math.min(val, 50);

                d1.push(val + 3);
                d2.push(val - 3);
            }



            var line = new RGraph.Line({
                id: 'cvs',
                data: [d1, d2],
                options: {
                    background: {
                        grid: {
                            autofit: {
                                numhlines: 10
                            }
                        }
                    },
                    filled: {
                        self: true,
                        range: {
                            self: true,
                            threshold: {
                                self: 40,
                                colors: ['rgba(255,0,0,0.5)', 'rgba(0,0,255,0.5)']
                            }
                        }
                    },
                    fillstyle: 'red',
                    colors: ['rgba(0,0,0,1)'],
                    numxticks: 8,
                    linewidth: 0.0001,
                    ymax: 50,
                    tickmarks: null
                }
            }).trace({frames: 60})
        })
    </script>

    <p>
        <a href="./">&laquo; Back</a>
    </p>

</body>
</html>

